VoIP is an Internet Protocol (IP) telephony term for a set of facilities used to manage the delivery of voice information over the Internet. VoIP involves sending voice information in digital form in discrete packets using IP rather than by using the traditional circuit-committed protocols of the public switched telephone network (PSTN). In addition to IP, VoIP uses RTP to help ensure that packets get delivered in a timely way. RTP defines a standardized packet format for delivering audio and video over the Internet.
As VoIP is a time-sensitive application, it uses the User Datagram Protocol (UDP) as network protocol on Internet. For VoIP, dropping packets is preferable to using delayed packets, and with the UDP, computer applications can send messages, also known as datagrams, to other hosts on an IP network without requiring prior communications to set up special transmission channels or data paths. The UDP uses a simple transmission model without implicit hand-shaking dialogues for guaranteeing reliability, ordering, or data integrity. Thus, the UDP provides an unreliable service, and datagrams may arrive out of order, appear duplicated, or go missing without notice. The UDP assumes that error checking and correction is either not necessary or performed in the application, avoiding the overhead of such processing at the network interface level.
The UDP provides one service that is not provided by the IP layer, i.e. port numbers to help distinguish different user requests. A port number is a 16-bit integer that is put in the header appended to a message unit, and this port number is passed physically between the transport layer and the IP layer, and forwarded. The combination of an IP address and a port number is referred to as a socket. A socket binds the application to service ports that function as the endpoints of data transmission, and a UDP application, such as VoIP, uses datagram sockets to establish host-to-host communications.
A VoIP system can interface with the traditional PSTN to allow for transparent phone communications worldwide. Equipment in the access network—the access node—provides the end user access and can support VoIP with media conversion from analogue voice signals to IP packets.
One example of a VoIP access node architecture is illustrated in FIG. 1. Chipsets available on the market allow limited modularity for media conversion. Therefore, in order for an access node 101 to serve a plurality of users, the access node 101 must be designed with several chipsets or VoIP cards 102, where each VoIP card 102 performs the media conversion for a limited number of users, typically 24, 32, 48 or 64 users. Media conversion is performed on the VoIP cards 102 through Digital Signal Processors (DSP) 103, converting analogue voice signals on the plain old telephony service (POTS) lines 109 into digitized pulse-code modulation samples. The voice traffic is then transmitted in RTP packets over IP. The voice traffic over IP will henceforth be referred to as RTP traffic.
The VoIP cards 102 typically also host the Access Gateway (AGW) application 104, which handles VoIP signaling flows (call setup, call termination) using e.g. the Session Initiation Protocol (SIP) or H.248 signaling protocols. The VoIP signaling traffic 105 and the RTP traffic 106 are then aggregated by means of a controller card 107, which is based on an Ethernet switch 108 for traffic forwarding. This architecture can be defined as distributed, since both the media conversion and the AGW application are implemented on each VoIP card.
In a distributed architecture as in FIG. 1, both the RTP traffic 106 and the VoIP signaling traffic 105 are generated and terminated on each VoIP card 102. This implies that in upstream direction, i.e. the direction from the VoIP card 102 towards the IP network 110, the RTP—and the signaling packets are generated on each VoIP card. The packets have as Source IP address the IP address of the VoIP card on which they are generated, and as Source Media Access Control (MAC) address the MAC address of that same VoIP card. Those IP and MAC addresses will be used in downstream direction, i.e. the direction from the IP network 110 towards the VoIP card 102, to reach that same VoIP card. For both directions the controller card 107 bridges packets based on the MAC addresses, i.e. it forwards the packets without altering the packet content.
The main problem of the distributed architecture is that it requires a plurality of public IP addresses (one for each VoIP card). This is unacceptable as the VoIP service becomes more widespread, as public IP addresses are a scarce resource.
FIG. 2 illustrates an architecture with an AGW application 104 centralized on the controller card 107, while keeping the distributed DSPs 103 on the VoIP cards 102. In this architecture, the number of IP addresses for the signaling traffic 105 is automatically reduced to one. However, this does not solve the problem of the large amount of IP addresses, as there will still be a need for one IP address per VoIP card for the RTP traffic 106.
One solution to the problem of the high number of IP addresses is to implement Network Address Translation (NAT) on the controller card. In computer networking, NAT is the process of modifying network address information in datagram packet headers while in transit across a traffic routing device, for the purpose of remapping a given address space into another. NAT involves re-writing the source and/or destination IP addresses and usually also the port numbers of IP packets. Checksums must also be rewritten to take account of the changes. As the NAT implementation requires modification of the IP packets, a more powerful processor is needed on the controller card, leading to higher costs of the controller card itself.
There is thus a need to provide a cost efficient VoIP access node, which requires a reduced number of IP addresses.